package juc;

public class Test02 {
    public static void main(String[] args) {
        //常规写法
        Foo foo = new Foo() {
            @Override
            public int add(int x, int y) {
                System.out.println("普通方法执行了");
                return x + y;
            }
        };
        System.out.println(foo.add(5, 6));
        //lambda表达式
        //口诀：拷贝小括号，写死右箭头，落地大括号
        Foo foo1 = (int x,int y) -> {
            System.out.println("表达式执行了");
            return x + y;
        };
        //调用
        System.out.println(foo1.add(3, 9));
    }
}
//@FunctionalInterface用于检测一个接口是否是函数式接口的注解
//函数式接口指的是有且仅有一个抽象方法的接口
@FunctionalInterface
interface Foo {
    public int add(int x,int y);
}